11. 内置函数¶
内置函数就是在系统安装完python解释器时,由python解释器给提供好的函数。
本章尝试类别来对内置函数简单介绍。
涉及一些内容需要在高级语法中讲述,所以如果看不懂的话可以跳过。
11.1. range()
函数¶
如果你确实需要遍历一个数字序列,内置函数
range()
会派上用场。它生成算术级数
range()
函数是可以迭代,或者它的主要功能是迭代生成序列,这样我们在for
循环的时候妈妈再也不用担心我们的序列生成问题了。
range()函数
功能:能够生成一个指定的数字序列
参数:
start : 开始的值 ,默认值为0
stop : 结束的值
[, step]: 可选,步进值 默认值为1
返回值: 可迭代的对象,数字序列
使用案例:
#range函数的使用方式
# 只写一个参数,就是从零开始到10之前,9
# res = range(11)
# 两个参数时,第一个参数是开始的值,第二个参数是结束的值(在结束值之前)
# res = range(5,10)
# 三个参数, 参数1是开始值,参数2是结束值,参数三是步进值
# res = range(1,10,3)
# 获取一个倒叙的数字序列
# res = range(10,0,-1)
# res = range(10,0,-2)
res = range(-10,-20,-1)
res = range(-20,-10)
res = range(-10,10)
print(list(res))
提取range()函数返回的数字序列的方法:
# 获取range函数返回的数字序列的方法
# res = range(10)
# 1。转为list列表数据
# print(list(res))
# 2。通过 for循环 进行遍历
# for i in res:
# print(i)
# 3。转为迭代器,使用next函数调用
# res = iter(res)
# print(next(res))
# print(next(res))
11.2. zip() 函数¶
zip()
功能:zip 函数是可以接受多个可迭代的对象,然后把每个可迭代对象中的第i个元素组合在一起,形成一个新的迭代器
参数:*iterables,任意个的 可迭代对象
返回值: 返回一个元组的迭代器
示例:
var1 = '1234'
var2 = ['a','b','c']
var3 = ('A','B','C','D')
# 调用zip函数,组成新的元组迭代器
res = zip(var1,var2,var3)
# print(res,type(res))
for i in res:
print(i)
'''
('1', 'a', 'A')
('2', 'b', 'B')
('3', 'c', 'C')
('4', 'd', 'D')
'''
# zip() 与 * 运算符相结合可以用来拆解一个列表:
x = [1, 2, 3]
y = [4, 5, 6]
zipped = zip(x, y)
print(list(zipped))
print(zip(x, y)) # 迭代器对象,
print(*zip(x, y))# 组合好的多个元组数据
11.3. 其它内置函数¶
11.3.1. 数据类型转换相关内置函数¶
int() 将其它类型数据转为整型
float() 转为浮点类型
bool() 转为布尔类型
complex() 转为复数
str() 转为字符串类型
list 转为列表类型
tuple 转为元组类型
dict 转为字典类型
set 转为集合类型
11.3.2. 变量相关函数¶
id() 获取当前数据的ID标识
type() 获取当前数据的类型字符串
print() 数据的打印
input() 获取输入的数据
isinstance() 检测是否为指定的数据类型
11.3.3. 数学相关函数¶
# 数学相关函数
# 获取一个数的绝对值
# print(abs(-99.99))
# 求和 从 start 开始自左向右对 iterable 中的项求和并返回总计值
# print(sum([1,2,3]))
# 获取最大值
# print(max([1,2,3]))
# print(max(99,12,45))
# 获取最小值
# print(min([2,1,6,-9]))
# print(min(6,7,1,0,-2))
# 幂运算 返回 x 的 y 次幂
# print(pow(2,3))
# 四舍五入
# r = round(3.1415926)
# r = round(3.1415926,2) # 小数点保留几位
# r = round(4.5) # 奇进偶退 1.5 = 2 2.5=2,3.5=4,4.5=4
# print(r)
11.3.4. 进制相关函数¶
# bin() 将数值类型转为二进制
# print(bin(123)) # 0b1111011
# int() 将二进制转为整型
# print(int(0b1111011)) #1 23
# oct() 转为八进制数 01234567
# print(oct(123)) # 0o173
# hex() 转为十六进制数 0123456789abcdef
# print(hex(123)) # 0x7b
11.3.5. Ascii码及字符集¶
Ascii 共计 128个字符,更新于 1986年 主要用于显示现代英语和其他西欧语言。
GB2312-80 是 1980 年制定的中国汉字编码国家标准。共收录 7445 个字符,其中汉字 6763 个。
GBK 于1995年制定 收录了 21003 个汉字。GBK向下与 GB 2312 编码兼容,
GBK18030 2001年的1月正式强制执行,是我国制订的以汉字为主并包含多种我国少数民族文字(如藏、蒙古、傣、彝、朝鲜、维吾尔文等)的超大型中文编码字符集强制性标准,其中收入汉字70000余
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。
它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
UTF-8 以字节为单位对Unicode进行编码。
# 将字符转为 ascii
r = ord('a')
print(r)
# 将ascii转为字符
r = chr(65)
print(r)
11.4. 高阶函数¶
高阶函数在高级语法中会讲,此处作为了解
sorted(iterable,[reverse,key])
map(func, *iterables)
reduce(func,iterable)
filter(func,iterable)